from datetime import datetime

from sqlalchemy.orm import backref

from .db import db
# 导入关联数据表模型类
from model.member import  Member
from model.category import  Category
class Question(db.Model):
    __tablename__ = 'question'
    que_id = db.Column(db.Integer, primary_key=True)
    que_cover = db.Column(db.String(255), nullable=True,comment="封面图")
    que_title = db.Column(db.String(255), nullable=True)
    que_content = db.Column(db.String(255), nullable=True)
    que_tags = db.Column(db.String(255), nullable=True)
    que_visit_count = db.Column(db.Integer, nullable=False,default=0)
    que_like_count = db.Column(db.Integer, nullable=False,default=0)
    que_create_time = db.Column(db.DateTime, nullable=False, default=datetime.now)
    que_cat_id = db.Column(db.Integer,db.ForeignKey('category.cat_id'), nullable=True)
    # 指定外键关联那张数据表的那个字段
    que_author_id = db.Column(db.Integer,db.ForeignKey('member.mem_id'), nullable=True)
    # 指定关联模型类,外键关联数据会自动保存在que_author属性中
    # db.relationship('Member', back_populates='que_author')
    # que_author = db.relationship('Member', back_populates='question')
    # backref作用: 通过`member对象.question` 访问当前用户发布过的文章列表
    # 指定保存外键关联数据的属性; que_author:记录了当前文章的作者信息
    que_author = db.relationship('Member',backref=db.backref('question',lazy='dynamic'))
    # 通过`cat.question`访问当前对象关联的问题
    que_cat=db.relationship('Category',backref=db.backref('question',lazy='dynamic'))




